home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / musictex / older-versions / musictex.500 / MUSICTRP.TEX < prev    next >
Text File  |  1993-12-31  |  7KB  |  176 lines

  1.  
  2. \edef\catcodeat{\the\catcode`\@}\catcode`\@=11
  3. \edef\catcode@gt{\the\catcode`\>}\catcode`\>=12
  4. \edef\catcode@lt{\the\catcode`\<}\catcode`\<=12
  5. %
  6. \def\Na#1{\ifdim\small@test\bigNa{#1}\else\smallNa{#1}\fi}%
  7. \def\Fl#1{\ifdim\small@test\bigFl{#1}\else\smallFl{#1}\fi}%
  8. \def\Sh#1{\ifdim\small@test\bigSh{#1}\else\smallSh{#1}\fi}%
  9. \def\dFl#1{\ifdim\small@test\bigdFl{#1}\else\smalldFl{#1}\fi}%
  10. \def\dSh#1{\ifdim\small@test\bigdSh{#1}\else\smalldSh{#1}\fi}%
  11. %
  12. \def\cNa{\cautionacctrue\smallNa}
  13. \def\cFl{\cautionacctrue\smallFl}
  14. \def\cSh{\cautionacctrue\smallSh}
  15. \def\cdFl{\cautionacctrue\smalldFl}
  16. \def\cdSh{\cautionacctrue\smalldSh}
  17. %
  18. \def\lNa#1{\k@meiqdskip\bigNa{#1}\k@eiqdskip}%
  19. \def\lFl#1{\k@meiqdskip\bigFl{#1}\k@eiqdskip}%
  20. \def\lSh#1{\k@meiqdskip\bigSh{#1}\k@eiqdskip}%
  21. \def\ldFl#1{\k@meiqdskip\bigdFl{#1}\k@eiqdskip}%
  22. \def\ldSh#1{\k@meiqdskip\bigdSh{#1}\k@eiqdskip}%
  23. %
  24. %\check
  25. %
  26. \def\sign@diff{\global\n@iii=\n@i
  27.      \global\advance\n@iii by -\ut@ref\relax
  28.      \global\advance\n@iii by -\ut@ref\relax
  29.      \loop\ifnum\n@iii>6\relax \global\advance\n@iii by -7\relax\repeat
  30.      \loop\ifnum\n@iii<0\relax \global\advance\n@iii by 7\relax\repeat
  31.      \n@ii=999\relax
  32.      \ifcase\n@iii\relax\n@ii=6\relax % mi
  33.      \or\n@ii=1\relax % fa
  34.      \or\n@ii=3\relax % sol
  35.      \or\n@ii=5\relax % la
  36.      \or\n@ii=7\relax % si
  37.      \or\n@ii=2\relax % do
  38.      \or\n@ii=4\relax % re
  39.      \fi                % \n@ii positive signature limit
  40.                         % \n@ii-8 negative signature limit
  41.      \advance\n@ii by -\sign
  42.      \advance\n@ii by 6
  43.      \divide\n@ii by 7\relax
  44. }
  45. %     
  46. \def\bigdFl#1{\getn@i{#1}\sign@diff
  47.      \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\f@lat}\relax
  48.      \or               \global\n@raise=\fl@raise\pl@llap{\df@lat}\relax
  49.      \else \message{Impossible to double flatten the note !
  50.                         \noexpand\Fl #1 }\showthe\n@ii
  51.      \fi            
  52. }%
  53. %\check
  54. %     
  55. \def\bigFl#1{\getn@i{#1}\sign@diff
  56.      \ifcase\n@ii\relax\global\n@raise=\na@raise\pl@llap{\n@at}\relax
  57.      \or               \global\n@raise=\fl@raise\pl@llap{\f@lat}\relax
  58.      \or               \global\n@raise=\fl@raise\pl@llap{\df@lat}\relax
  59.      \else \message{Impossible to flatten the note !
  60.                           \noexpand\Fl #1 }\showthe\n@ii
  61.      \fi            
  62. }%
  63. %\check
  64. \def\bigNa#1{\getn@i{#1}\sign@diff
  65.      \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
  66.      \or              \global\n@raise=\na@raise\pl@llap{\n@at}\relax
  67.      \or              \global\n@raise=\fl@raise\pl@llap{\f@lat}\relax
  68.      \else \message{Impossible to reset natural the note !
  69.                           \noexpand\Na #1 }\showthe\n@ii
  70.      \fi            
  71. }%
  72. \def\bigSh#1{\getn@i{#1}\sign@diff
  73.      \ifcase\n@ii\relax\global\n@raise=\z@\pl@llap{\ds@harp}\relax
  74.      \or               \global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
  75.      \or               \global\n@raise=\na@raise\pl@llap{\n@at}\relax
  76.      \else \message{Impossible to sharpen the note !
  77.                           \noexpand\Sh #1 }\showthe\n@ii
  78.      \fi            
  79. }%
  80. \def\bigdSh#1{\getn@i{#1}\sign@diff
  81.      \ifcase\n@ii\relax\message{Impossible to double sharpen the note !
  82.                           \noexpand\dSh #1 }\showthe\n@ii
  83.      \or               \global\n@raise=\z@\pl@llap{\ds@harp}\relax
  84.      \or               \global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
  85.      \else \message{Impossible to double sharpen the note !
  86.                           \noexpand\dSh #1 }\showthe\n@ii
  87.      \fi
  88. }%
  89. %     
  90. \def\smalldFl#1{\getn@i{#1}\sign@diff
  91.      \ifcase\n@ii\relax\global\n@raise=\fl@raise\pl@llap{\smallf@lat}\relax
  92.      \or               \global\n@raise=\fl@raise\pl@llap{\smalldf@lat}\relax
  93.      \else \message{Impossible to double flatten the note !
  94.                         \noexpand\Fl #1 }\showthe\n@ii
  95.      \fi            
  96. }%
  97. %\check
  98. %     
  99. \def\smallFl#1{\getn@i{#1}\sign@diff
  100.      \ifcase\n@ii\relax\global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
  101.      \or               \global\n@raise=\fl@raise\pl@llap{\smallf@lat}\relax
  102.      \or               \global\n@raise=\fl@raise\pl@llap{\smalldf@lat}\relax
  103.      \else \message{Impossible to flatten the note !
  104.                           \noexpand\Fl #1 }\showthe\n@ii
  105.      \fi            
  106. }%
  107. %\check
  108. \def\smallNa#1{\getn@i{#1}\sign@diff
  109.      \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
  110.      \or              \global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
  111.      \or              \global\n@raise=\fl@raise\pl@llap{\smallf@lat}\relax
  112.      \else \message{Impossible to reset natural the note !
  113.                           \noexpand\Na #1 }\showthe\n@ii
  114.      \fi            
  115. }%
  116. \def\smallSh#1{\getn@i{#1}\sign@diff
  117.      \ifcase\n@ii\relax\global\n@raise=\z@\pl@llap{\smallds@harp}\relax
  118.      \or               \global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
  119.      \or               \global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
  120.      \else \message{Impossible to sharpen the note !
  121.                           \noexpand\Sh #1 }\showthe\n@ii
  122.      \fi            
  123. }%
  124. \def\smalldSh#1{\getn@i{#1}\sign@diff
  125.      \ifcase\n@ii\relax\message{Impossible to double sharpen the note !
  126.                           \noexpand\dSh #1 }\showthe\n@ii
  127.      \or               \global\n@raise=\z@\pl@llap{\smallds@harp}\relax
  128.      \or               \global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
  129.      \else \message{Impossible to double sharpen the note !
  130.                           \noexpand\dSh #1 }\showthe\n@ii
  131.      \fi
  132. }%
  133. \def\pl@hboxq#1{\pl@note\raise\y@i\hbox to \qd@skip{\hss #1 \hss}}%
  134. \def\upperFl#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
  135.      \ifcase\n@ii\relax
  136.         \pl@hboxq{\smalln@at}\relax
  137.      \or
  138.         \pl@hboxq{\smallf@lat}\relax
  139.      \or
  140.         \pl@hboxq{\smalldf@lat}\relax
  141.      \else \message{Impossible to sharpen the note !
  142.                           \noexpand\Sh #1 }\showthe\n@ii
  143.      \fi            
  144. }%
  145. \def\upperNa#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
  146.      \ifcase\n@ii\relax
  147.         \pl@hboxq{\smalls@harp}\relax
  148.      \or
  149.         \pl@hboxq{\smalln@at}\relax
  150.      \or
  151.         \pl@hboxq{\smallf@lat}\relax
  152.      \else \message{Impossible to sharpen the note !
  153.                           \noexpand\Sh #1 }\showthe\n@ii
  154.      \fi            
  155. }%
  156. \def\upperSh#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
  157.      \ifcase\n@ii\relax
  158.         \pl@hboxq{\smallds@harp}\relax
  159.      \or
  160.         \pl@hboxq{\smalls@harp}\relax
  161.      \or
  162.         \pl@hboxq{\smalln@at}\relax
  163.      \else \message{Impossible to sharpen the note !
  164.                           \noexpand\Sh #1 }\showthe\n@ii
  165.      \fi            
  166. }%
  167. \def\relativeaccidentals{\def\Xna{\Na}\def\Xsh{\Sh}\def\Xfl{\Fl}%
  168. \def\Xdsh{\dSh}\def\Xdfl{\dFl}}%
  169.  
  170.  
  171.  
  172. \catcode`\>=\catcode@gt
  173. \catcode`\<=\catcode@lt
  174. \catcode`\@=\catcodeat
  175.  
  176.